The present invention relates to preferred image reproduction and, more particularly, to the reproduction of colored images generated by one of alternative input sources through the use of one of alternative output reproduction devices.
The increasing demand for communication of information has led to substantial increases in the generation of textual and graphical information. This information is typically reproduced in hardcopy form for distribution to those intended to receive such information. The distributor of this information is usually very desirous of having the distributed hardcopy form of the information appear as closely as possible to the originally generated form of the information.
Such a result is especially difficult to achieve when the distribution medium is printed hardcopy containing colored graphics or text, the source of which may be original generation in a computer graphic system or through scanning at least in part previously printed information often followed by editing same in a computer graphic system. The information describing such colored graphics or text generated by a computer graphics system or by a scanner, or both, must be communicated as an input image from such an input device used for such generating to the output device that is to form the corresponding printed hardcopy such as a color printer which may be a color laser copier or a ink jet printer, for example. Usually this input image information also must be communicated within the computer graphics system to some display device so that the operator may assess the results of various actions in the generation of that image.
There are great differences between the display typically used in input devices and the form of the output from typically used output devices, and there are often substantial differences between the perceptions of disinterested observers of seemingly identical colored images and text. Not surprisingly, what constitutes a sufficient match between output hardcopy and input displays of generated colored graphics and text is quite subjective and, furthermore, what is sufficient may change with the intended use of the printed hardcopy output. Thus, this communication process of input device generated textual and graphics information has many complex variables involved, resulting in substantial difficulty in communicating information accurately as well as in numerous opportunities for error.
Commonly, the generated input textual and graphical information is generated, or at least approved, through use of a video monitor as the input generating device display. Such a monitor, based on a cathode ray tube, provides a display based on an electron beam forming a raster pattern over an array of tiny triads of red, blue and green emitting phosphors such that each of those triads forms one pixel of the displayed image. Varying the intensity of an electron beam impinging on such a phosphor varies the color of the light emitted therefrom, and the light emitted from each combines additively to form the effective hue and luminance of that pixel. As a result, digital-to-analog control (DAC) signals controlling the electron beam which electively impinges on each phosphor in each triad can be viewed as coordinates of a color space forming the RGB color system with red, green and blue as the primary colors. Any point in that space will have three coordinate values locating same which thus define the hue and luminance of the color represented thereby on the video monitor.
A color printer as a typical output device also operates by forming a raster pattern, but in this instance the raster pattern is formed by a laser beam in electrophotographic printing devices, or by a printhead in ink jet or thermal resistance printing devices, or the like. The laser beam or the printhead controls the deposition of toner or priming ink at each of many positions along a print line, and forms a pixel in the output image by causing toner or ink to be deposited at the location therefor of at least one, and typically of each of three colors: cyan, magenta and yellow. Quite often, a fourth color of toner or ink is also deposited, that color being black.
Thus, the signals controlling the deposition densities of such toners or inks as colorants, the fractions of full densities of such colorants, can be viewed as coordinates of a three coordinate color space with each of the three coordinates representing one of the colors cyan, magenta and yellow to form the CMY color system. Quite often the color space is expanded to be 4-dimensional, with the fourth coordinate representing black to form the CMYK process color system. Such ink or toner colorants act as light filters that subtract light of certain wavelengths while reflecting other wavelengths so that the light reflected from a pixel of such colorants represents the light transmitted after such wavelength subtraction, i.e. the inks combine subtractively.
Although care must be used in characterizing the performance of a video monitor insofar as providing expected luminance and hues of colors of the pixels displayed thereby for given R, G and B signal values, luminance and hues displayed by pixels in such a monitor for specified values of R, G and B are much more predictable than are the pixel colors resulting from specifying signals for the fractions of maximum printed densities of cyan, magenta, yellow and black toners or inks to be printed. Such difficulty in predicting the results of the printing of selected fractional densities of these colorants arise for many reasons including the nonlinear relationship between the saturation of a printed colorant and the density of that colorant printed (proportionality failure), the unpredictable coloring results of combining different densities of the primary colorants (additivity failure), the varying behavior of the media printed upon, etc. Beyond these shortcomings in the toners or inks and the media, there is considerable variation between output printing devices even of the same kind insofar as the density of toner or ink printed for a particular signal value supplied thereto directing that printing may vary. In addition, the color of the media, it's opacity, its receptivity to toners or inks can strongly effect the perceived nature of the output.
A further complicating factor is that there is nearly always a substantial mismatch between the colors that a color printer as an output device is capable of reproducing, and the colors which can be specified and displayed on a video monitor as an input device. That is, the range of colors that can be specified and displayed on the video monitor of the input device on which an original generated image is formed (i.e., the color gamut of the input device video monitor) will not match the range of colors that form the color gamut of printable colors by the output device. In these circumstances, the proper communication of color graphical and textual information to the output device, of a page representation for which an input image has been generated in the input image forming graphics system, involves a complicated transform.
The R, G and B color coordinates of the RGB color space values, specified for each pixel on the input device video monitor display image, must be transformed to corresponding coordinates in the CMY color space and thence to CMYK color values to specify the pixels to be printed by the output device. In the art, such transformations have been defined on a mathematical basis using mathematical models for the input and output devices involved, or on an empirical basis based on empirical measurements of the input and output devices involved, or on some combination of both, as described in greater detail below.
Additionally, certain colors are not reproducible using combinations of red, green and blue. Thus, in order to represent these colors in RGB color space, it would be necessary to use negative coefficients. As an alternative, the Commission Internationale de l'Eclairage (CIE) has defined three standard color primaries, labeled X, Y and Z, to be used instead of red, green and blue. Using only positive coefficients, these primaries can then represent all colors visible to the human eye. Mathematical transformations of the X, Y and Z color coordinates have been used to form more nearly perceptually uniform color spaces. One nonlinear transformation which has yielded such a color space is the one defined in forming the 1976 CIE L*a*b* colorimetric system which is chosen for the present description. An alternative is the CIE L*u*v* colorimetric system.
Thus, when transforming colors from the input device color space to the output device color space, it is nearly always the case that certain input colors cannot be reproduced on the output device. Such colors are known as out-of-gamut colors and a method for their reproduction must be determined. In the art, methods of out-of-gamut color correction fall into two broad categories. In the first category, all colors are translated to new color representations regardless of whether a color is reproducible on the output device. This method is commonly known as gamut compression. In the second category, non-reproducible colors are redesignated while in-gamut colors are simply translated. This method is commonly known as gamut clipping. When either of these techniques are applied to input colors prior to storage in a frame buffer, the result is loss of the original color information.
The converse situation also holds true: there are colors which are included in the output device gamut, such as a color printer, that are not found in the input device gamut, such as a video monitor. Consequently, these colors will never be represented in the frame buffer when transforming colors from this input color space to the output device color space using these techniques.
In the early art, traditional color conversion techniques attempted to treat RGB and CMYK color spaces as linearized spaces requiring only trivial conversion algorithms to convert colors between them. These methods relied on idealized representations of RGB phosphors and CMYK inks that are highly inaccurate and are not realizable in actual practice. These conversions, when used in actual printing systems, do not produce output color representations which match the original specification of input color by an image generating device. Examples of these canonical conversion techniques are discussed, for example, in Computer Graphics: Principles and Practice, Second Edition; Foley and van Dam, et. al., c 1990 Addison-Wesley. While the Foley, van Dam, et. al. reference claims relevance of this technique for ink jet printer and xerographic devices, it has been proven in practice to provide insufficient quality color reproduction.
In the later art, more complex mathematical transformations such as Kubelka-Munk equations were used to model the non-uniformity of the RGB and CMYK color gamuts of actual input devices and output devices by more closely modelling the combination of subtractive colorants such as are used in a CMYK printer. These techniques proved intractable due to the nature of the high order equations used.
More recently, in the empirical method or the mixed mathematical model-empirical method, a convenient conversion technique involves using one of a number of different device-independent color spaces as an intermediate representation in a two-stage color conversion process. In the first stage of conversion, there is a transformation from the input device's color space to an intermediate color space. For example, it may be desirable to reproduce a set of standardized CMYK colors on a CMYK output device, such as a 4-color process printer. A spectrophotometer is used to measure the samples of the standardized CMYK color set and obtain device-independent color values. This correlation between device-independent color values and the standardized CMYK colors is used to map the input device's CMYK colors to coordinates in the intermediate color space. In the second stage of conversion, there is a transformation from the intermediate color space to the output device's color space. This transformation is performed using a listing of correspondences between coordinates in the intermediate color space and the output device colors. This listing also is obtained by reading output device color samples using a spectrophotometer. Typically, the intermediate color space is based on CIE L*a*b* or CIE L*u*v* colorimetric systems for reasons well-known and well-described in the art, including the important advantage that these intermediate color spaces can inclusively represent in a perceptually uniform manner all colors visible to the human eye, while others cannot. In practice, this method has most often been implemented as a color rendering dictionary in a Postscript.RTM. rendering system.
This two-stage process is used to transform input color specifications into device-dependent color specifications which then are stored in a frame buffer. That frame buffer stores device-dependent information, such as CMYK or RGB color values, in describing the output image pixel data which are used to form the output signals controlling the printing of that printer to thereby have the print engine therein correctly set the fractions of maximum toner or ink densities that it is to provide on the selected device.
In a computer graphics system that uses a color video monitor to specify and display colors, the color values of the generated image input sample data may be characterized in a chosen intermediate color space using a transform. The intermediate color space is provided for changing the color descriptions specified for the generated image input sample data from input color space (e.g., RGB, CMYK) to the intermediate color space and from the intermediate color space to the output device color space. For the case of an RGB input color sample data being translated to a CIE L*a*b* color space, the transformation from input color to the intermediate color space can be described mathematically. This transformation can be subdivided into three parts: a gamma correction phase, a linear tranformation to the CIE XYZ color space utilizing readings taken from the input device, and a standard non-linear transformation to the CIE L*a*b color space. The gamma correction phase and the linear transformation are well known in the art, and the CIE XYZ to CIE LAB transformation is well known in the art and is described, for example, in Color Science: Concepts and Methods, Quantitative Data and Formulae: Second Edition, Wyszecki and Stiles, c 1982 Wylie and Sons.
In completing this transform, the input device RGB color space to the intermediate color space, color printing systems have also compressed, during transformation of the specified output image sample data, the color gamut of the input device or of the generated input source image to a subset of that of the output device (the subset formed by the intersection of the input device gamut and the output device gamut), this latter gamut being known from a characterization of that output device into the intermediate color space as described below. Alternatively, color printing systems have shifted just those specified colors of pixels in the specified output image that are outside the output device color gamut during the transformation to being within that gamut, this usually being done by shifting the specified color to the nearest color that is within the gamut. Either method adds substantial calculation time to the transformation of the specified output image pixel data.
In the prior art, attempts have been made to solve problems posed by multiple input color spaces and the non-linearity of CMYK printing inks. These attempts have been based on storing additional data for each pixel in the frame buffer than would otherwise be required were the color representation sufficient of itself. The objective of these methods is to correct for inherent inaccuracies in the CMYK color model, such as proportionality failure and additivity failure of the inks. Additional information also may be stored at each frame buffer pixel location to designate out-of-gamut colors which may be referenced in an alternate external list. These techniques require additional memory, which results in increased manufacturing cost that ultimately must be passed on to the consumer. Furthermore, these systems require a computationally intensive post-processing phase to complete the transformation to the output device color values. Consequently, a single-store color representation that would efficiently represent multiple diverse color input spaces without requiring additional memory space or computational steps would be of great benefit.
Output devices such as color printers printing on a particular medium have also been characterized using intermediate color spaces by taking colorimetric or spectrophotometric measurements of printed color patches. Printed patches of known dot coverage fractions of cyan, magenta and yellow toners or inks, which may or may not use undercolor removal and gray component replacement steps, are typically measured with a spectrophotometer to provide the intermediate color space coordinates and thus provide the correspondence relationship between these coordinates and CMYK values used in printing the colors represented. Resulting correlations can be expanded to further colors through interpolation. Typically, some methodology must be applied to relate these coordinate sets to one another in some alternative way to avoid having to store too large a number of such correlations.
A listing of correlations must be provided for each device to be printed upon, as any change in output device will lead to a different appearance of the resulting printed image. Furthermore, a separate listing of correlations must be provided for each media of a specific output device for the same reason. Thus, a change in either the output device or output media for a given output device will necessitate a separate listing of correlations between input device and output device to ensure an accurate reproduction of the input image data. Such a correlation of listings must be provided for each kind of media to be printed upon as well, since any change in media will lead to a different appearance of the resulting printed image.
Thus, due to the device-dependence of the information rendered in the frame buffer, each change of output device or media will require a different transformation of the specified input image sample data from the input color space through the intermediate color space to the output color space. In addition, the new transformation requires the application computer program within the input image generating device to re-create the input image data which again must be raster image processed to create a new frame buffer with color information specific to the new output device or media.
Unfortunately, raster image processing can be of considerable duration, particularly for the printing of larger-sized graphical images containing large numbers of pixels. The requirement to raster image process the image input data for each new type of printer device and each new type of media results in a considerable loss of productivity in producing hardcopy output from more than one output device. Therefore, the ability to generate in a frame buffer pixel information which is not device-dependent would provide a significant benefit in enabling printing to multiple output devices.